﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
//{
//	printf("呵呵" );
//	int a = 1;
//	scanf("%d", &a);//scanf-输入
//	printf("a=%d\n",a);//输出
//	return 0;
// }
//stdio  standard input output
//标准输入输出头文件
//printf是一个库函数。功能：在屏幕上打印信息。
//{
//	int i = 0; //打印ascll码表
//	for (i = 32; i <=127; i++)
//	{
//		printf("%c ", i);
//	}
//	return 0;
//}
//'a','b'
//{
//	printf("hello\n,world");//\n换行
//	return 0;
//}//\0字符串结束标志
//{
//	char arr1[] = "hello ,\0world";
//	char arr2[] = {'a','b','c','\0'};
//	printf("%s\n", arr1);
//	printf("%s\n", arr2);//%s字符串
//	return 0;
//}
 /* C语?中像这样的转义字符还有?些，具体如下：
 \? ：在书写连续多个问号时使?，防?他们被解析成三字?词，在新的编译器上没法验证了。
 \' ：?于表?字符常量'
 \" ：?于表??个字符串内部的双引号
 \\ ：?于表??个反斜杠，防?它被解释为?个转义序列符。
 \a ：警报，这会使得终端发出警报声或出现闪烁，或者两者同时发?。
 \b ：退格键，光标回退?个字符，但不删除字符。
 \f ：换?符，光标移到下??。在现代系统上，这已经反映不出来了，?为改成类似于 \v 。
 \n ：换?符。
 \r ：回?符，光标移到同??的开头。
 \t ：制表符，光标移到下?个?平制表位，通常是下?个8的倍数。
 \v ：垂直分隔符，光标移到下?个垂直制表位，通常是下??的同?列。
下?2种转义字符可以理解为：字符的8进制或者16进制表?形式
 \ddd ：ddd表?1~3个?进制的数字。如：\130表?字符X
 \xdd ：dd表?2个?六进制数字。如：\x30表?字符0
 \0 ：null字符，代表没有内容， \0 就是 \ddd 这类转义字符的?种，?于字符串的结束标志，其
ASCII码值是0.  */
//{
//	printf("\a");
//	printf("asdf\bghjkl");//退格  打印结果为asdghjkl 此刻f被覆盖
//	/*C语?的代码是由?条?条的语句构成的，C语?中的语句可为以下五类：
//		1.复合语句
//		2.函数调用语句
//		3.表达式语句  3 + 7;//表达式语句
//		4.空语句     ;//空语句
//		5.控制语句   控制语句?于控制程序的执?流程，以实现程序的各种结构?式 ?持三种结构
//			一.顺序结构
//			二.选择结构
//			三.循环结构
//		它们由特定的语句定义符组成，C语?有九种控制语句
//			1. 条件判断语句也叫分?语句：if语句、switch语句；
//			2. 循环语句：while语句、do...while语句、for语句；
//			3. 跳转（转向）语句：break语句、continue语句、goto语句、return语句。
//		*/
//	return 0;
//}
/* {	查看基本数据类型的大小
//	sizeof(数据类型或变量或常量)  返回值为size_t类型,size_t即无符号整型,这种整数在打印时使用%zd
//	sizeof的计算结果（返回值）的单位是字节（byte），1字节=8位(bit)
//	基本数据类型：
//	char 字符型---使用%c打印
//	字符串型---使用%s打印
//	_Bool 布尔型---使用%d打印
//	short [int]        [signed] short [int]        unsigned short [int]      短整型---使用%d打印
//	int                [signed] int                unsigned int              整型---使用%d打印
//	long [int]         [signed] long [int]         unsigned long [int]       长整型---使用%ld打印
//	long long [int]    [signed] long long [int]    unsigned long long [int]  长长整型---使用%lld打印
//	float              double                      long double               单精度浮点型---使用%f打印
//	双精度型---使用%lf打印
//	长双精度型---使用%Lf打印
//
//	c语言规定sizeof（long）>=sizeof (int)

	printf("%zd\n", sizeof(char));
	printf("%zd\n", sizeof(_Bool));
	printf("%zd\n", sizeof(short));
	printf("%zd\n", sizeof(int));
	printf("%zd\n", sizeof(long));
	printf("%zd\n", sizeof(long long));
	printf("%zd\n", sizeof(float));
	printf("%zd\n", sizeof(double));
	printf("%zd\n", sizeof(long double));
	return 0;
}*/
//	signed 关键字，表⽰⼀个类型带有正负号，包含负值；
//  unsigned 关键字，表⽰该类型不带有正负号，只能表⽰零和正整数
//  limits.h 头文件中定义了各种数据类型的取值范围；
//	float.h 头文件中定义了浮点类型的取值范围；
//	初始化-在变量创建的同时给一个值叫初始化。
//	栈区-局部变量存储在栈区	//堆区-动态内存管理 malloc free	//静态区-全局变量和静态变量	
/*{
	int a = 3;
	a = a + 3;
	a *= 3; //复合赋值，即a = a + 3;
	printf("%d\n", a);
	int b = 10;
	int c = ++b; //前置++，先加1再赋值,b=b+1,c=b
	//int b = 10;
	//int c = b++; //后置++，先赋值再加1,c=b,b=b+1
	printf("b=%d c=%d\n", b, c);
	return 0;
}
/*  常用占位符
*	%c - 字符
*	%hd - short
*	%d - int
*   %u   unsigned int
*	%f	 float
*	%lf	 double
*	%s   字符串
*	%p	 指针（地址）
*/
//{
//	int score = 0;
//	printf("请输入你的成绩:");
//	scanf(" %d", &score);//&取地址符，表示变量在内存中的地址
//	//C中 scanf函数用于从键盘获取数据=python中的input函数
//	printf("你的成绩是：score = %+d\n", score);
//	return 0;//1.2e**12表示1.2乘以10的12次方，即科学计数法。
//}

//{
//	int a = 0, b = 0, c = 0, r = scanf("%d %d %d", &a, &b, &c);
//	printf("r= %d\n", r);//scanf（）的返回值表示成功输入的数据变量个数，是一个整数。
//	//如果没有读取到任何数据，或者匹配失败，则返回值为0；
//	//如果在成功读取任何数据之前，发生了读取错误或者遇到读取到文件结尾，则返回常量EOF。
//	return 0;
//}
{
	int num1 = 0;
	
		scanf("%d", &num1);
	if (num1 % 2 == 0)
	{
		printf("%d是偶数\n", num1);
	}
	else
	{
		num1 += 1;	
	}
	if(num1 % 2 == 0)
	{
		printf("%d是偶数\n", num1);
	}
	else
	{
		printf("%d是奇数\n", num1);
	}
	return 0;
}